#函数的定义：定义输出姓名分界线的函数
Id,name=20240714,'zmd'
def printname():
    print(f'{str(Id)+name:-^20}')
    return
#字符串类的方法
#查找方法 find rfind
s0 = "qwertyuiopasdfghjklzxcvbnm"
s0 = s0*3
    #str.find(s,start<int>,end<int>),不指定start,end默认整体
print(s0.find('nm'))
    #str.rfind(s,start<int>,end<int>)
print(s0.rfind('nm'))
#.find返回（右向左）第一个目标位置，rfind返回最后一个位置
print(s0.find('none'))#输出-1，代表没有找到

#迭代方法
for i in s0:
    print(i,end = '|')#end = '|'表示不换行
#连接方法
    #+(无空格)
print(str(Id)+name)
    #str.join()
print(str(Id).join(name))
print('--'.join([str(Id),name]))#插入式的
print(''.join([str(Id),name]))#这样也无空格
info=['20240714','zmd','通信学院']
print("✦".join(info))#想用什么分割就在“”加入什么符号.
    #格式化字符
print("%s%s"%(str(Id),name))
print(f"{str(Id)}{name}")
print("{}{}".format(str(Id),name))
    #直接连接(自带空格)
print(Id,name)
print('20240714','zmd')
printname()
#验证方法
    #isdigit方法可以识别 十进制的 非负 整数
a = ''
while not a.isdigit():
    a = input("输入一个正整数：")
#将a的各位数字作和并输出
    #for字符串：
s = 0
for i in a:
    s+=int(i)
print(s)
    #常规算法：
a = int(a)
s = 0
while a>0:
    n = a%10#a除10取余数
    s+=n#s加上余数
    a//=10#a除10取整
print(s)
    #列表推导式
l = [2,3,4,5,6]
t =[x for x in l]#与list(a)作用相同，但列表推导式可以对每一个x再操作。
t1 =[int(x)+12345 for x in l]
print(t)
print(t1)
print(sum(t))
print(sum(t1))
    
    
